Saturn Meridian Implementation

Spec:

Measure

Job definition

Each retrieval served by a Saturn node is a job.

Data model

[
	{
	    "job_id": "abcdef",
	    "peer_id": "<Libp2p Peer ID>",
	    "started_at": "2023-05-01 00:52:57.62+00",
	    "ended_at": "2023-05-01 00:52:58.62+00",
	    "num_bytes_sent": 240,
	    "request_duration_sec": 10,
	    "ttfb_ms": 35,
	    "status_code": 200,
	    "cache_hit": true
	},
  ...
]

Evaluate

Evaluation Stage I: Data preprocessing

Fraud detection function

Saturn’s fraud detection function is private.

fraudulenti=privateFunction(logLinei)fraudulent_i = privateFunction(logLine_i)

Data model

TODO

{
  "measurement_root": "<merkle root hash>",
  "started_at": "2023-05-01 00:52:57.62+00",
  "ended_at": "2023-05-01 00:52:57.62+00",
  "measurements": {
    "honest": {
      "log_count": 13
      // TODO: List other fields used by Saturn's evaluation function
    },
    "fraudulent": {
      "log_count": 2000
    }
  }
}

Evaluation Stage II

Evaluation Function

See https://hackmd.io/@cryptoecon/saturn-aliens/%2FMqxcRhVdSi2txAKW7pCh5Q.

Fraud detection

See https://hackmd.io/@cryptoecon/saturn-aliens/%2FMqxcRhVdSi2txAKW7pCh5Q.

Roadmap

TODO